package com.itheima.leetcode.od.b.string;

import java.util.Arrays;

/**
 * (B卷,100分)- 分苹果（Java & JS & Python & C）
 * <p>
 * 题目描述
 * <p>
 * A、B两个人把苹果分为两堆，A希望按照他的计算规则等分苹果，他的计算规则是按照二进制加法计算，并且不计算进位 12+5=9（1100 + 0101 = 9），B的计算规则是十进制加法，包括正常进位，B希望在满足A的情况下获取苹果重量最多。
 * <p>
 * 输入苹果的数量和每个苹果重量，输出满足A的情况下B获取的苹果总重量。
 * <p>
 * 如果无法满足A的要求，输出-1。
 * <p>
 * 数据范围
 * <p>
 * 1 <= 总苹果数量 <= 20000
 * <p>
 * 1 <= 每个苹果重量 <= 10000
 * <p>
 * 输入描述
 * <p>
 * 输入第一行是苹果数量：3
 * <p>
 * 输入第二行是每个苹果重量：3 5 6
 * <p>
 * 输出描述
 * <p>
 * 输出第一行是B获取的苹果总重量：11
 * <p>
 * 用例
 * <p>
 * 输入	3
 * 3 5 6
 * 输出	11
 * 说明	无
 * <p>
 * 输入	8
 * 7258 6579 2602 6716 3050 3564 5396 1773
 * 输出	35165
 * 说明	无
 */
public class SharingApples {
    public static void main(String[] args) {
        /*Scanner sc = new Scanner(System.in);

        int n = sc.nextInt();
        int[] arr = new int[n];
        for (int i = 0; i < n; i++) {
            arr[i] = sc.nextInt();
        }*/

        int n = 3;
        int[] arr = Arrays.stream("3 5 6".split(" "))
                .mapToInt(Integer::parseInt)
                .toArray();

        System.out.println(getResult(n, arr));
    }

    public static int getResult(int n, int[] arr) {
        Arrays.sort(arr);

        int min = arr[0];
        int fault = min;
        int correct = min;

        for (int i = 1; i < arr.length; i++) {
            int w = arr[i];
            fault ^= w;
            correct += w;
        }

        if (fault == 0) {
            return correct - min;
        } else {
            return -1;
        }
    }
}